from transformers import pipeline

def load_generation_pipeline():
    """
    加载文本生成 pipeline (使用占位符模型 "gpt2"，需替换为 QWQ-32B).

    Returns:
        transformers.pipeline: 文本生成 pipeline
    """
    # 加载 QWQ-32B 模型用于文本生成 (这里用 "gpt2" 模型作为占位符，实际应用中替换为 "QWQ-32B" 模型)
    # 注意：你需要安装 transformers 库，并确保 QWQ-32B 模型已正确加载或可以访问
    generation_pipeline = pipeline("text-generation", model="gpt2") # 占位符模型
    return generation_pipeline

def generate_answer(question, context, generation_pipeline):
    """
    使用 QWQ-32B 模型基于上下文生成答案。

    Args:
        question: 用户问题 (字符串)
        context: 相关文档片段 (字符串)
        generation_pipeline: QWQ-32B 生成 pipeline

    Returns:
        str: 生成的答案
    """
    input_text = f"请根据以下内容回答问题：\n内容：{context}\n问题：{question}\n答案："
    answer = generation_pipeline(input_text, max_length=100, num_return_sequences=1) # 生成答案
    return answer[0]['generated_text']

if __name__ == '__main__':
    # 加载生成 pipeline
    qg_pipeline = load_generation_pipeline()

    # 测试生成
    question = "什么是RAG?"
    context = "RAG 是检索增强生成技术的缩写，它结合了信息检索和生成模型。"
    answer = generate_answer(question, context, qg_pipeline)

    print(f"问题: {question}")
    print(f"上下文: {context}")
    print(f"答案: {answer}")